/*
	EngineState.h

	contains tables and information relating to the engine core state

	Author: Aidan Goddard 4/8/14
*/

#ifndef ENGINESTATE_H_INCLUDED
#define ENGINESTATE_H_INCLUDED

#include<cstdint>

//////////////////////////////////////////////////////////
// engine state control struct

#define DEBUG_BUFFER_LENGTH_MAX 8192

namespace Snowstorm
{
	class EngineState
	{
	public:
		static EngineState engine_state;

	public:
		EngineState();

	public:
		bool cmd_exit;
		uint64_t exit_return_code;
		uint32_t cmd_pause_actions;
		bool cmd_unpause_actions;
		bool cmd_create_persistent_entity;
		bool cmd_delete_persistent_entity;
		bool cmd_create_map_entity;
		bool cmd_delete_map_entity;
		uint32_t debug_buffer_length;
		wchar_t *debug_buffer;

	};
}

#endif